/////////////////////////////////////////////////////////////
// Created by: Synopsys DC Ultra(TM) in wire load mode
// Version   : O-2018.06-SP1
// Date      : Mon Nov  6 21:28:54 2023
/////////////////////////////////////////////////////////////


module Vector ( data_in, pos_out );
  input [31:0] data_in;
  output [5:0] pos_out;
  wire   n1, n2, n3, n4, n5, n7, n9, n10, n11, n12, n13, n15, n16, n17, n20,
         n21, n22, n24, n25, n26, n27, n28, n29, n30, n31, n32, n6, n8, n14,
         n18, n19, n23, n33, n34, n35, n36, n37, n38, n39, n40, n41, n42, n43,
         n44, n45, n46, n47, n48, n49, n50, n51, n52, n53, n54, n55, n56, n57,
         n58, n59, n60, n61, n62, n63, n64, n65, n66, n67, n68, n69, n70, n71,
         n72, n73, n74, n75, n76, n77, n78, n79, n80, n81, n82, n83, n84, n85,
         n86, n87, n88, n89;

  AND2X4 U2 ( .A(n31), .B(n39), .Y(n6) );
  NOR4X2 U3 ( .A(data_in[9]), .B(data_in[8]), .C(data_in[15]), .D(data_in[14]), 
        .Y(n28) );
  INVX12 U4 ( .A(data_in[28]), .Y(n56) );
  INVX6 U5 ( .A(data_in[29]), .Y(n55) );
  INVX4 U6 ( .A(data_in[30]), .Y(n54) );
  NAND2X4 U7 ( .A(n60), .B(n59), .Y(n14) );
  NAND2X5 U8 ( .A(n58), .B(n57), .Y(n8) );
  INVX6 U9 ( .A(data_in[27]), .Y(n57) );
  CLKINVX6 U10 ( .A(data_in[26]), .Y(n58) );
  INVX4 U11 ( .A(data_in[24]), .Y(n60) );
  CLKINVX2 U12 ( .A(data_in[20]), .Y(n23) );
  INVXL U13 ( .A(n88), .Y(n87) );
  AOI211X2 U14 ( .A0(data_in[18]), .A1(n78), .B0(data_in[26]), .C0(n17), .Y(
        n15) );
  BUFX2 U15 ( .A(n7), .Y(n78) );
  NOR2BX1 U16 ( .AN(n73), .B(n35), .Y(n67) );
  AND2XL U17 ( .A(n76), .B(data_in[11]), .Y(n69) );
  OAI2B1X2 U18 ( .A1N(data_in[4]), .A0(n79), .B0(n77), .Y(n22) );
  CLKAND2X2 U19 ( .A(data_in[19]), .B(n7), .Y(n68) );
  INVXL U20 ( .A(data_in[3]), .Y(n35) );
  CLKNAND2X4 U21 ( .A(n76), .B(data_in[13]), .Y(n81) );
  AND2X4 U22 ( .A(n28), .B(n26), .Y(n33) );
  NOR2X6 U23 ( .A(n14), .B(n8), .Y(n41) );
  NOR2X4 U24 ( .A(n19), .B(n18), .Y(n40) );
  AND4X4 U25 ( .A(n53), .B(n54), .C(n55), .D(n56), .Y(n39) );
  AND4X4 U26 ( .A(n57), .B(n58), .C(n59), .D(n60), .Y(n31) );
  NAND2X4 U27 ( .A(n23), .B(n51), .Y(n19) );
  INVX10 U28 ( .A(data_in[20]), .Y(n52) );
  INVX12 U29 ( .A(data_in[17]), .Y(n48) );
  CLKINVX8 U30 ( .A(data_in[18]), .Y(n47) );
  INVX4 U31 ( .A(data_in[31]), .Y(n53) );
  INVX4 U32 ( .A(data_in[16]), .Y(n46) );
  INVX3 U33 ( .A(data_in[19]), .Y(n45) );
  INVX6 U34 ( .A(data_in[25]), .Y(n59) );
  INVX6 U35 ( .A(data_in[22]), .Y(n51) );
  CLKINVX8 U36 ( .A(data_in[21]), .Y(n49) );
  CLKINVX6 U37 ( .A(data_in[23]), .Y(n50) );
  NAND2X4 U38 ( .A(n50), .B(n49), .Y(n18) );
  INVX4 U39 ( .A(n70), .Y(n74) );
  OAI2BB1X4 U40 ( .A0N(data_in[5]), .A1N(n12), .B0(n81), .Y(n24) );
  OAI21X8 U41 ( .A0(n34), .A1(n33), .B0(n6), .Y(n2) );
  NAND2X8 U42 ( .A(n27), .B(n84), .Y(n34) );
  NAND2X2 U43 ( .A(n42), .B(n6), .Y(n1) );
  NOR2X2 U44 ( .A(n65), .B(data_in[30]), .Y(n62) );
  OAI2BB1X4 U45 ( .A0N(data_in[7]), .A1N(n12), .B0(n80), .Y(n25) );
  NOR2X2 U46 ( .A(n66), .B(data_in[29]), .Y(n44) );
  NOR2X2 U47 ( .A(n65), .B(data_in[30]), .Y(n16) );
  NAND4X4 U48 ( .A(n71), .B(n44), .C(n16), .D(n21), .Y(n64) );
  CLKAND2X4 U49 ( .A(n27), .B(n42), .Y(n70) );
  CLKINVX3 U50 ( .A(n12), .Y(n79) );
  AOI211X4 U51 ( .A0(data_in[20]), .A1(n7), .B0(n22), .C0(data_in[28]), .Y(n21) );
  INVXL U52 ( .A(n2), .Y(n36) );
  INVXL U53 ( .A(n36), .Y(n37) );
  AND4X4 U54 ( .A(n45), .B(n46), .C(n47), .D(n48), .Y(n38) );
  AND4X4 U55 ( .A(n49), .B(n50), .C(n51), .D(n52), .Y(n29) );
  AND2X8 U56 ( .A(n30), .B(n40), .Y(n84) );
  NOR4X4 U57 ( .A(data_in[13]), .B(data_in[12]), .C(data_in[11]), .D(
        data_in[10]), .Y(n26) );
  AOI211XL U58 ( .A0(n73), .A1(data_in[1]), .B0(n13), .C0(data_in[25]), .Y(n10) );
  AO22X2 U59 ( .A0(n76), .A1(data_in[9]), .B0(data_in[17]), .B1(n7), .Y(n13)
         );
  NOR2X3 U60 ( .A(n72), .B(n2), .Y(n7) );
  AND2X4 U61 ( .A(n38), .B(n29), .Y(n42) );
  NOR2X4 U62 ( .A(n2), .B(n74), .Y(n12) );
  NOR2X2 U63 ( .A(n66), .B(data_in[29]), .Y(n11) );
  AOI211X4 U64 ( .A0(data_in[23]), .A1(n7), .B0(n25), .C0(data_in[31]), .Y(n43) );
  AOI211X1 U65 ( .A0(data_in[23]), .A1(n7), .B0(n25), .C0(data_in[31]), .Y(n71) );
  OAI211X4 U66 ( .A0(n15), .A1(n64), .B0(n75), .C0(n63), .Y(n4) );
  INVX3 U67 ( .A(n1), .Y(n72) );
  AND4X8 U68 ( .A(n45), .B(n46), .C(n47), .D(n48), .Y(n30) );
  AND4X8 U69 ( .A(n53), .B(n54), .C(n55), .D(n56), .Y(n32) );
  OAI2BB1X4 U70 ( .A0N(data_in[22]), .A1N(n7), .B0(n61), .Y(n65) );
  AOI21BX4 U71 ( .A0(data_in[6]), .A1(n12), .B0N(n82), .Y(n61) );
  NOR2X2 U72 ( .A(n65), .B(data_in[30]), .Y(n63) );
  NAND2XL U73 ( .A(n72), .B(data_in[15]), .Y(n80) );
  NAND2XL U74 ( .A(n72), .B(data_in[14]), .Y(n82) );
  NAND4X2 U75 ( .A(n11), .B(n43), .C(n62), .D(n21), .Y(n3) );
  AO21X4 U76 ( .A0(data_in[21]), .A1(n7), .B0(n24), .Y(n66) );
  OAI211X1 U77 ( .A0(n10), .A1(n64), .B0(n75), .C0(n11), .Y(n9) );
  NOR3X4 U78 ( .A(n67), .B(n68), .C(n69), .Y(n20) );
  INVX2 U79 ( .A(n79), .Y(n73) );
  AO22X2 U80 ( .A0(n76), .A1(data_in[10]), .B0(data_in[2]), .B1(n73), .Y(n17)
         );
  NAND2XL U81 ( .A(n72), .B(data_in[12]), .Y(n77) );
  NAND2BX2 U82 ( .AN(n78), .B(n89), .Y(n88) );
  OAI2BB1X4 U83 ( .A0N(n43), .A1N(n3), .B0(n85), .Y(n75) );
  BUFX6 U84 ( .A(n72), .Y(n76) );
  INVXL U85 ( .A(n64), .Y(n86) );
  NOR2BXL U86 ( .AN(n5), .B(pos_out[5]), .Y(pos_out[0]) );
  NOR2BX8 U87 ( .AN(n5), .B(n83), .Y(pos_out[5]) );
  OAI2BB1X4 U88 ( .A0N(n75), .A1N(n4), .B0(n9), .Y(n5) );
  NAND3BX4 U89 ( .AN(n4), .B(n86), .C(n87), .Y(n83) );
  AND2X8 U90 ( .A(n32), .B(n41), .Y(n27) );
  NAND3BX2 U91 ( .AN(data_in[27]), .B(n20), .C(n43), .Y(n85) );
  NOR2XL U92 ( .A(data_in[0]), .B(n37), .Y(n89) );
  NOR2XL U93 ( .A(n37), .B(pos_out[5]), .Y(pos_out[3]) );
  NOR2XL U94 ( .A(n74), .B(pos_out[5]), .Y(pos_out[4]) );
  NOR2XL U95 ( .A(n64), .B(pos_out[5]), .Y(pos_out[2]) );
  NOR2XL U96 ( .A(pos_out[5]), .B(n4), .Y(pos_out[1]) );
endmodule


module top ( clk, rst, data_in, pos_out_reg );
  input [31:0] data_in;
  output [5:0] pos_out_reg;
  input clk, rst;
  wire   n9, N2, n1, n3;
  wire   [5:0] pos_out;

  INVXL I_0 ( .A(rst), .Y(N2) );
  Vector inst_Vector ( .data_in(data_in), .pos_out(pos_out) );
  MDFFHQX4 pos_out_reg_reg_2_ ( .D0(pos_out[2]), .D1(1'b0), .S0(rst), .CK(clk), 
        .Q(pos_out_reg[2]) );
  DFFQXL pos_out_reg_reg_5_ ( .D(n3), .CK(clk), .Q(n9) );
  MDFFHQX4 pos_out_reg_reg_1_ ( .D0(1'b0), .D1(pos_out[1]), .S0(N2), .CK(clk), 
        .Q(pos_out_reg[1]) );
  MDFFHQX4 pos_out_reg_reg_3_ ( .D0(1'b0), .D1(pos_out[3]), .S0(N2), .CK(clk), 
        .Q(pos_out_reg[3]) );
  MDFFHQX4 pos_out_reg_reg_4_ ( .D0(1'b0), .D1(pos_out[4]), .S0(N2), .CK(clk), 
        .Q(pos_out_reg[4]) );
  MDFFHQX4 pos_out_reg_reg_0_ ( .D0(1'b0), .D1(pos_out[0]), .S0(N2), .CK(clk), 
        .Q(pos_out_reg[0]) );
  AND2XL U3 ( .A(N2), .B(pos_out[5]), .Y(n3) );
  INVXL U4 ( .A(n9), .Y(n1) );
  CLKINVX4 U5 ( .A(n1), .Y(pos_out_reg[5]) );
endmodule

